Equinox hacking document by Jigglysaint Equinox data(offsets for a rom without a header) 10451 = start of area 1's level data. First 2 bytes are room header. byte 1 is room shape and graphics, byte 2 is pallete and item drop from monsters The first two bytes control the co-ordinates of the object. There is an x, y, and z co-ordinate. The first nybble seems to be room dependant, meaning depending on what shape the room is, it could either be the upper left corner, or somewhere else. The second nybble is the north/south co-ordinate, so from the north side of the room(north is actually upper left wall), each increase is one tile to the south. The second byte is both the east/west and up and down co-ordinates. first nibble controls east/west, and the second the up and down. For up and down, one nybble is one half a block. If you use the most common object, a block(like the pushable kind), is the standard measure. There is one half block, and one block and a half tile per area, as well as 2 one block tiles. The next byte is structure type. either horizontal, vertical, diagonal, or whatever, this byte controls it. the byte after that is the amount of blocks in the strucuture piece, and what block type it is. Block types: 00 = block 1 01 = block 2 02 = half sized block 03 - block and a half sized block 04 = spikes 05 and after = glitch I believe that certain structues are glued together, that is instead of using 4 bytes, they use 3 and instead are tacked onto the first structure. Certain structures are in fact tied to one another, and share data, such as block type and stuff. 3 bytes is a structure, but 2, as long as the first byte is set to Bx, will display a single tile with the following nybble and other byte. for example, if I have an 82 00 94 51, that's a structure. add a b3 30, and it will place tile 01(block 2), at the position you desire. Structure types: 90 = Grows out to the east 91 = grows to the south 92 = grows to the west 93 = grows to the north 94 = grows from the bottom 95 = grows from the top 96 = grows out to the right(straight line to our eyes) 97 = grows to the bottom(again, it looks like a straight line to our eyes, but is actually diaognal to game play) 98 = starts back at 90, but might contain additional properties. Add D* to the structure and it gives the conveyor attribute. D0 = convey east D1 = convey right(not east) D2 = convey south D3 = convey down D4 = convey west D5 = convey left D6 = convey north D7 = convey up Data formats: Obviously I mentioned 4 byte structues, that it has 2 bytes for position, and two for size type and structure. Now there a couple things you can do after making a 4 byte structure, one of them is to add a single tile that uses the same block type as it's Parent structure. a Parent Structure is the structure that additional tiles are based off of. This is set by making the first nybble of the first byte a B. So if B3 30 is added, then it will tell the game to put one tile, referencing the block type of the Parent structure. Another thing to do is make a new tile that uses 3 bytes, the last being A*, where * = block type. I believe after this you can add an additional structure that uses only 3 more bytes. Actually if you take off the first of a 4 byte structure, basically it tells the game to tack on another structure to the first, but because of the lack of a first position byte, there are certain limitations. The first byte, instead of a position around the room, is the position in relation to the first structure. Depending on the first nybble, it determines what direction the structre will be tacked on to the previous one. For example, 00 means place the structure one square east of the previous structure. Of course depending on the second part, it determines how many squares relation to the structure the new one will be. Structure spawn directions: 00 = east 10 = south 20 = west 30 = north 40 = same square as end of previous structure, would be used, for example, to start a row going a different direction, only higher. So to have a rundown, there is a 4 byte structue, which is a series of the same tile, and 3 bytes tacked on to add a new structure in relation to the position of the first one. There are 3 byte one tile structures, and adding 2 bytes to either of them will produce one tile that share's its block type with the previous structure. Data types: 9* = Produce a structure type(see above) A* = Used in single tile structues B* = Tells game to reference block type of previous structure D* = Adding this in front of a normal structure tells the game to make it a conveyer belt. Door Data: 1Aa2F? Format: First byte is room number the door appears in. Second byte is what door index the door leads to. so if the second byte is 01, it means that wherever the door in index 1 is, you go to that room. The third and fourth bytes are position on the screen, and the last byte is door type and direction. Values for door type: 00 = nothing 10 = white door 20 = red door 30 = green door 40 = blue door 50 = flashing door 00 = east arrow(hardly used) 01 = south arrow 02 = west arrow 03 = north arrow 04 = east door 05 = south door 06 = west door 07 - north door 08 = east secret door 09 = south secret door 0a = west secret door 0b = north secret door 0c - 0f = secret doors 1BdC9: Item data Byte 1 is the room it appears in, byte 2 is the object type, the third is the location and the fourth is the hight. Items: 00 = green potion 08 = blue potion 10 = red potion 18 = white potion 20 = green apple 28 = blue apple 30 = red apple 38 = white apple 40 = token 48 - 58 = token 60 = green key 68 = blue key 70 = red key 78 = white key 80 = spell a0 = weapon c0 = end of list Room Header: First byte controls room size and wall graphics, second byte controls item recieved from enemy and room pallet. Enemy drop table: 00 = nothing 10 = blue potion 20 = red potion 30 = white potion 40 = green apple 50 = blue apple 60 = red apple 70 = white apple 80 = token 90 = glitched token c0 = green key D0 = blue key E0 = red key F0 - white key Pallet: 00 = blueish 01 = purpleish 02 = light blue 03 04 = 06 = orangeish 07 = red 08 = Room size and shape: 00 = 7x7 room, graphics 1 01 = 11x3 hall to the west, graphics 2 02 = 11x3hall to the south, graphics 2 03 = 6x6 graphics 3 04 = 65 square boss style room, graphics 1 05 = 73 square room, graphics 4 06 = 7x7 square room, graphics 4 07 = same s 06? 08 = L shaped room made of 2 11x3 halls, graphics 1 09 = reverse L, 2 11x11 halls, graphics 1 0a = 5x5 room with 4 6 block additions, graphics 4 0b = 7x7 donut shaped room, graphics 4 0c = 5x5 room, graphics 1 0d - 2 6x3 halls formed in a reverse upsidown L shapes, graphics 3 0e = 6x2 cross shaped room made from 2 6x2 halls, graphics 3 0f = 2 6x3 halls formed into a reverse L shaped, graphics 4 10 = 3x3 room, graphics 4 11 = 5x7 room, graphics 4 12 = 5x9 room, graphics 4 13 = 3x3 room, graphics 5 14 = 5x8 room, graphics 5 15 = reverse L shape, graphics 5 16 = L shape, graphics 4 17 = 8x3, graphics 4 18 = boss room 19 = 5x5 room, graphics 2 1a = 5x5 room, graphics 3 1b = 11x3 hall, graphics 4 1c = same 1d = same 1e = 11x3 hall to the west, graphics 3 1f = same 20 = same 21 = 7x4 room, graphics 4 22 = 10x5 room, graphics 4 23 = 7x7 room, graphics 3 24 = 5x9 room, graphics 4 25 = 6x6, graphics 4 26 = 5x5 room, graphics 4 27 = 5x5,room, graphics 2 28 = 9x5 room, graphics 4 29 = 11x3 hall, graphics 4 2a = 5x9 room, graphics 4 2b = end of list 8fac = how many tokens you need to summon a boss f386c = graphics for floor, might be compressed 19da6 = wall graphics, seems compressed 2233 = entrance data, 8 bytes Format: Byte 1 = area to load Byte 2 = unknown Byte 3 = room entrance is in Byte 4 = unknown Byte 5 = x position of ladder Byte 6 = y position of ladder Byte 7 = z position of ladder Byte 8 = If there's a ladder or not 1f3c = room graphics pointers? 100a1 = start of room pointers 2138 = pointers to doors for each level 35a0 = pointers to items for each level 31cb = start of room numbers for each level. B8 B2 BD B4 1a79d = room definitions for room template 00 Tori Room definitions: Tori is a special case because tunnels between rooms are actually wall graphics combined with the actual doors. This means that there is a very limited amount of rooms that can be used, which makes this the least vertisile of the dungeons so far. The room definitons stay the same, but the position of the tunnles might change 00 - Door is on north wall in centre 01 - Door is on the east wall 02 - Door is on the north wall 03 - Door is on the east wall 04 - Door on each wall 05 - Glitch 06 - Door is to the far right on east wall 07 - No door 08 - Glitch 09 - Glitch 0A - Glitch 0B - Door on east wall 0C - Door on North wall 0D - Glitch 0E - Glitch 0F - Glitch 10 - Glitch 11 - Glitch 12 - Glitch 13 - Glitch 14 - Glitch 15 - Glitch 16 - Glitch 17 - Glitch 18 - Boss Room 19 - Door on east wall 1A - Doors on both walls 1B - Door on east wall at top 1C - No door 1D - Door on north wall and door on east wall at bottom 1E - No door 1F - Door on north wall close to top and door on east wall 20 - Door on north wall close to bottom and door on east wall 21 - Glitch 22 - Glitch 23 - Glitch 24 - Glitch 25 - Glitch 26 - Glitch 27 - Doors on both walls 28 - Glitch 29 - Glitch 2A - Glitch 2B - end of list c6 86